A Functional Shell That Operates on Typed and Compiled Applications
نویسندگان
چکیده
Esther is the interactive shell of Famke, a prototype implementation of a strongly typed operating system written in the functional programming language Clean. As usual, the shell can be used for manipulating files, applications, data and processes at the command line. A special feature of Esther is that the shell language provides the basic functionality of a strongly typed lazy functional language, at the command line. The shell type checks each command line and only executes well-typed expressions. Files are typed as well, and applications are simply files with a function type. The type checking/inferencing performed by the shell is actually performed by the hybrid static/dynamic type system of Clean. The shell behaves like an interpreter, but it actually executes a command line by combining existing compiled code of functions/programs on disk. Clean’s dynamic linker is used to store (and retrieve) any expression (both data and code) with its type on disk. This linker is also used to communicate values of any type, e.g., data, closures, and functions (i.e., compiled code), between running applications in a type safe way. The shell combines the advantages of interpreters (direct response) and compilers (statically typed, fast code). Applications (compiled functions) can be used, in a type safe way, in the shell, and functions defined in the shell can be used by any compiled application.
منابع مشابه
A Functional Shell That Dynamically Combines Compiled Code
We present a new shell that provides the full basic functionality of a strongly typed lazy functional language, including overloading. The shell can be used for manipulating files, applications, data and processes at the command line. The shell does type checking and only executes well-typed expressions. Files are typed, and applications are simply files with a function type. The shell executes...
متن کاملInteractive Combining of Typed Object Code ICIS Technical Report
The functional language Clean includes a hybrid type system: in addition to the traditional static type system it offers support for dynamically typed values, so called dynamics. An expression of arbitrary static type can be packed into a dynamic, and via pattern matching on types a dynamic can be converted back to a value of statically known type. The most important aspect of dynamics is that ...
متن کاملSynthesis and Characterization of a Novel Fe3O4-SiO2@Gold Core-Shell Biocompatible Magnetic Nanoparticles for Biological and Medical Applications
Objectives: The study of core-shell magnetic nanoparticles has a wide range of applications because of the unique combination of the nanoscale magnetic core and the functional shell. Characterization and application of one important class of core-shell magnetic nanoparticles (MNPs), i.e., iron oxide core (Fe3O4/γ-Fe2O3) with a silica shell and outer of gold (Fe3O4-SiO2@Gold (FSG)) in Boron Neut...
متن کاملValidation of Shell Theory for Modeling the Radial Breathing Mode of a Single-Walled Carbon Nanotube (RESEARCH NOTE)
In this paper, the radial breathing mode (RBM) frequency of single-walled carbon nanotube (SWCNT) is studied based on the thin shell theory. For this purpose, SWCNT is considered as an elastic thin cylindrical shell. The dynamic equation of RBM is derived using the Hamilton’s principle. An analytical solution of the RBM frequency of SWCNT is obtained. The advantage of this formulation is that i...
متن کاملRealizations and Functional Patterns of Shell Nouns in Applied Linguistics Research Articles
This study intends to investigate the realizations and functional patterns of shell nouns in Applied Linguistics research articles. To this end, fifty research articles in the field of Applied Linguistic were selected from Journal of English for Academic Purposes and journal of English for Specific Purposes published by Elsevier. The articles were analyzed for the realizatio...
متن کامل